1) Field of the Invention
The present invention relates to a compiler program which compiles a source code, a compiler program recording medium, a compile method, and a program processing system which compiles a source code and executes a program based on an execution code obtained by the compiling. The present invention particularly relates to the compiler program which enables an operation of a pointer while avoiding a limitation of use of the pointer when a program to be executed on a platform with the limitation of the use of the pointer uses the pointer, the compiler program recording medium, the compile method, and the program processing system.
2) Description of the Related Art
Recently, business transactions which utilize networks such as the Internet are rapidly expanding, and platforms for easily developing and operating application programs for realizing such business transactions are provided by software venders. An example of such platforms is .NET Framework (registered trademark) produced by Microsoft Corporation (for example, see non-Patent Literature 1: Microsoft Corporation “.NET Framework developers guide, Introduction to .NET Framework”, [online] [searched on Jan. 27, 2004], Internet <http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpovrintroductiontonetframeworksdk.asp>).
The .NET Framework (registered trademark) enables development of software using a plurality of programming languages, and resources of program codes stored in the past are recycled so that the productivity of the application programs can be improved.
The .NET Framework (registered trademark) has a memory management mechanism which executes garbage collection or the like (for example, see non-Patent Literature 2: Microsoft Corporation, “Garbage collection Introduction, Automatic memory management Part I on Microsoft .NET Framework”, [online] [searched on Jan. 27, 2004], Internet <http://www.microsoft.com/japan/msdn/net/mag00/GCl.asp>). The application programs, which are operated on the .NET Framework (registered trademark), are limited so that a pointer for storing addresses can be operated only within a limited range in order to avoid an influence on the memory management mechanism (for example, see non-Patent Literature 3: Microsoft Corporation “.NET Framework developers guide, typesafety and security”, [online] [searched on Jan. 27, 2004], Internet <http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpcontypesafetysecurity.asp>).
Since the .NET Framework (registered trademark) limits the use of the pointer by a user, when the user utilizes the resources of the source codes stored in the past so as to develop application programs and use the application programs in the .NET Framework (registered trademark) described in the non-patent literature 1, the user cannot use the source codes in their original format.
Languages which are used for the development of the application programs in the business fields include common business oriented language (hereinafter, “COBOL”). In the COBOL, a command for specifying an address and operating the pointer can be used.
The source codes including the command for performing such a pointer operation, however, cannot be directly executed on the platforms such as the .NET Framework (registered trademark) which cannot use a pointer freely. For this reason, the source codes should be corrected according to the platforms.
There is desired a technique such that when a pointer is used in programs which are executed on platforms where the use of pointers is limited, the pointer can be operated while avoiding the limitation of the use of the pointer.